#ifndef UNIFORMREALDISTRIBUTION_H
#define	UNIFORMREALDISTRIBUTION_H

#include <boost/random.hpp>
#include <boost/random/random_device.hpp>

class UniformRealDistribution {
public:
    UniformRealDistribution(double lowerbound = 0.0, double upperbound = 1.0);
    virtual ~UniformRealDistribution();
    double Sample();
    double min();
    double max();
    static double rand(double = 0, double = 1);

private:
    boost::random::random_device *generator;
    boost::random::uniform_real_distribution<double> *distribution;
    boost::variate_generator < boost::random::random_device&, boost::random::uniform_real_distribution<double> > *variate_generator;
};

#endif	/* UNIFORMREALDISTRIBUTION_H */
